\section{Conclusioni}
Il programma sviluppato mostra come procede passo dopo passo il lavoro di fresatura, permettendo di regolare precisione della simulazione e del rendering e la velocità di visualizzazione.

Con i file di esempio messi a disposizione, le operazioni vengono portate a termine correttamente e con buone prestazioni, nonostante il software non faccia uso di librerie per il calcolo ad alta prestazione quali \cuda.

La lavorazione in modalità testuale è, come ci si può ragionevolmente attendere, più veloce rispetto alle due modalità in cui è impiegata anche la grafica. Per lavorazioni poco impegnative dal punto di vista computazionale la modalità \texttt{box} e la modalità \texttt{mesh} hanno prestazioni comparabili, mentre, via via che l'elaborazione si fa più processor intensive, l'attivazione del modulo Mesher in modalità \texttt{mesh} comporta un significativo incremento sia del tempo di calcolo che della memoria necessaria a contenere l'Octree. Questo è il prezzo da pagare per una visualizzazione più realistica della processo di fresatura, tuttavia, l'uso di Marching Cubes permette di alleggerire il carico della visualizzazione mediante OpenSceneGraph.

Come si può facilmente inferire osservando le tempistiche di esecuzione e osservando quali sono i moduli più time-demanding, i fattori che maggiormente influiscono sul tempo di calcolo sono certamente l'estensione dell'area di lavoro e la profondità dell'Octree: mentre quest'ultima è determinata dalla dimensione dei voxel, la prima è invece fortemente dipendente dalla lavorazione. Se la zona interessata dall'erosione è limitata ad una porzione ristretta di blocco (file \texttt{positions.txt}) i tempi e l'occupazione di memoria sono molto inferiori ad una simulazione in cui la fresa si sposta su tutto il prodotto (file \texttt{positions2.txt}).

A conclusione di questa relazione si vuole evidenziare che, nonostante il lavoro fatto sia stato molto, è comunque possibile intervenire per migliorare ulteriormente il progetto. In primo luogo è possibile incrementare le prestazioni di Miller e Mesher, rendendo il primo parallelo e ``rallentando'' il secondo per consentire l'uso di strutture dati più leggere e performanti; ci si potrebbe concentrare poi sul miglioramento della gestione dell'input multipiattaforma, modificando il formato dei dati di configurazione, e continuare a lavorare su tutti quegli aspetti già delineati nelle trattazioni specifiche dei vari moduli.
